package com.taobao.api.response;

import java.util.List;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;
import com.taobao.api.TaobaoObject;

import com.taobao.api.TaobaoResponse;

/**
 * TOP API: cainiao.smartdelivery.i.get response.
 * 
 * @author top auto create
 * @since 1.0, null
 */
public class CainiaoSmartdeliveryIGetResponse extends TaobaoResponse {

	private static final long serialVersionUID = 2126584698822792269L;

	/** 
	 * <a href="http:open.taobao.comdocsdoc.htm?treeId=319&articleId=106295&docType=1">智能发货引擎<a>结果包装类
	 */
	@ApiListField("smart_delivery_response_wrapper_list")
	@ApiField("smart_delivery_response_wrapper")
	private List<SmartDeliveryResponseWrapper> smartDeliveryResponseWrapperList;


	public void setSmartDeliveryResponseWrapperList(List<SmartDeliveryResponseWrapper> smartDeliveryResponseWrapperList) {
		this.smartDeliveryResponseWrapperList = smartDeliveryResponseWrapperList;
	}
	public List<SmartDeliveryResponseWrapper> getSmartDeliveryResponseWrapperList( ) {
		return this.smartDeliveryResponseWrapperList;
	}
	
	/**
 * 如果是电子面单错误，会返回电子面单错误信息列表。没有错误不返回
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class SubErrorInfo extends TaobaoObject {

	private static final long serialVersionUID = 6572761791232229272L;

	/**
		 * 电子面单错误码
		 */
		@ApiField("error_code")
		private String errorCode;
		/**
		 * 电子面单错误信息
		 */
		@ApiField("error_message")
		private String errorMessage;
	

	public String getErrorCode() {
			return this.errorCode;
		}
		public void setErrorCode(String errorCode) {
			this.errorCode = errorCode;
		}
		public String getErrorMessage() {
			return this.errorMessage;
		}
		public void setErrorMessage(String errorMessage) {
			this.errorMessage = errorMessage;
		}

}

	/**
 * 电子面单云打印信息
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class WaybillCloudPrintInfo extends TaobaoObject {

	private static final long serialVersionUID = 8655773714153226346L;

	/**
		 * 模板内容,具体解释见<a href="http:open.taobao.comdoc2detail.htm?spm=a219a.7629140.0.0.8cf9Nj&treeId=17&articleId=105085&docType=1#12">链接<a>
		 */
		@ApiField("print_data")
		private String printData;
		/**
		 * 电子面单号
		 */
		@ApiField("waybill_code")
		private String waybillCode;
	

	public String getPrintData() {
			return this.printData;
		}
		public void setPrintData(String printData) {
			this.printData = printData;
		}
		public String getWaybillCode() {
			return this.waybillCode;
		}
		public void setWaybillCode(String waybillCode) {
			this.waybillCode = waybillCode;
		}

}

	/**
 * <a href="http://open.taobao.com/docs/doc.htm?treeId=319&articleId=106295&docType=1">智能发货引擎</a>推荐物流公司
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class SmartDeliveryCpInfo extends TaobaoObject {

	private static final long serialVersionUID = 2117735482988722546L;

	/**
		 * 物流公司编码
		 */
		@ApiField("cp_code")
		private String cpCode;
		/**
		 * 推荐原因
		 */
		@ApiField("recommand_reason")
		private String recommandReason;
	

	public String getCpCode() {
			return this.cpCode;
		}
		public void setCpCode(String cpCode) {
			this.cpCode = cpCode;
		}
		public String getRecommandReason() {
			return this.recommandReason;
		}
		public void setRecommandReason(String recommandReason) {
			this.recommandReason = recommandReason;
		}

}

	/**
 * 智能发货引擎结果
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class SmartDeliveryResponse extends TaobaoObject {

	private static final long serialVersionUID = 5828816446831251643L;

	/**
		 * 请求Id
		 */
		@ApiField("object_id")
		private String objectId;
		/**
		 * <a href="http:open.taobao.comdocsdoc.htm?treeId=319&articleId=106295&docType=1">智能发货引擎<a>推荐物流公司
		 */
		@ApiField("smart_delivery_cp_info")
		private SmartDeliveryCpInfo smartDeliveryCpInfo;
		/**
		 * 电子面单云打印信息
		 */
		@ApiField("waybill_cloud_print_info")
		private WaybillCloudPrintInfo waybillCloudPrintInfo;
	

	public String getObjectId() {
			return this.objectId;
		}
		public void setObjectId(String objectId) {
			this.objectId = objectId;
		}
		public SmartDeliveryCpInfo getSmartDeliveryCpInfo() {
			return this.smartDeliveryCpInfo;
		}
		public void setSmartDeliveryCpInfo(SmartDeliveryCpInfo smartDeliveryCpInfo) {
			this.smartDeliveryCpInfo = smartDeliveryCpInfo;
		}
		public WaybillCloudPrintInfo getWaybillCloudPrintInfo() {
			return this.waybillCloudPrintInfo;
		}
		public void setWaybillCloudPrintInfo(WaybillCloudPrintInfo waybillCloudPrintInfo) {
			this.waybillCloudPrintInfo = waybillCloudPrintInfo;
		}

}

	/**
 * <a href="http://open.taobao.com/docs/doc.htm?treeId=319&articleId=106295&docType=1">智能发货引擎</a>结果包装类
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class SmartDeliveryResponseWrapper extends TaobaoObject {

	private static final long serialVersionUID = 3342352656533637215L;

	/**
		 * <a href="http:open.taobao.comdocsdoc.htm?spm=a219a.7629140.0.0.9mPrfc&treeId=319&articleId=106307&docType=1">错误码<a>
		 */
		@ApiField("error_code")
		private String errorCode;
		/**
		 * 错误信息
		 */
		@ApiField("error_message")
		private String errorMessage;
		/**
		 * 智能发货引擎结果
		 */
		@ApiField("smart_delivery_response")
		private SmartDeliveryResponse smartDeliveryResponse;
		/**
		 * 如果是电子面单错误，会返回电子面单错误信息列表。没有错误不返回
		 */
		@ApiListField("sub_error_info_list")
		@ApiField("sub_error_info")
		private List<SubErrorInfo> subErrorInfoList;
		/**
		 * 是否成功
		 */
		@ApiField("success")
		private String success;
	

	public String getErrorCode() {
			return this.errorCode;
		}
		public void setErrorCode(String errorCode) {
			this.errorCode = errorCode;
		}
		public String getErrorMessage() {
			return this.errorMessage;
		}
		public void setErrorMessage(String errorMessage) {
			this.errorMessage = errorMessage;
		}
		public SmartDeliveryResponse getSmartDeliveryResponse() {
			return this.smartDeliveryResponse;
		}
		public void setSmartDeliveryResponse(SmartDeliveryResponse smartDeliveryResponse) {
			this.smartDeliveryResponse = smartDeliveryResponse;
		}
		public List<SubErrorInfo> getSubErrorInfoList() {
			return this.subErrorInfoList;
		}
		public void setSubErrorInfoList(List<SubErrorInfo> subErrorInfoList) {
			this.subErrorInfoList = subErrorInfoList;
		}
		public String getSuccess() {
			return this.success;
		}
		public void setSuccess(String success) {
			this.success = success;
		}

}



}
